#ifndef __STAGE_OBJ_H__
#define __STAGE_OBJ_H__

#include "../3ds/light.h"
#include "./modelobj.h"
#include "./textobj.h"
#include "../pixel/pixelbutton.h"

typedef void (Delegater::*OnStageBtnMenuClickFunc)();

class StageObj : public ModelObj<StageObj>
{
	MODEL_DEFINE
public:
	StageObj(float depth);
	~StageObj();

	void SetPlayerLights(vector3d* playerPos, size_t playerCount);
	void StartLights();
	void ShutDownStage();

private:
	void OnRender(float differTime);
	void OnBtnSpeedUpClick();
	void OnBtnSpeedDownClick();
	void OnBtnMenuClick();

	void SetSpeedText();
public:
	Event<OnStageBtnMenuClickFunc> OnMenuClick;

private:
	PixelButton m_btnSpeedUp;
	PixelButton m_btnSpeedDown;
	PixelButton m_btnMenu;

	Light m_light;
	
	int m_speed;

	//Speed's Text
	TextObj m_TextSpeed;
	TextObj m_Text1;
	TextObj m_Text2;
	TextObj m_Text3;
	TextObj m_Text4;
	TextObj m_Text5;


};

#endif